function PersonDog(name, age) {
  this.name = name;
  this.age = age;
  this.action = () => {
    console.log("我是" + this.name + "我今年" + this.age + "岁");
  };
}

let dog1 = new PersonDog("小白", 1);
let dog2 = new PersonDog("小黑", 2);
let dog3 = new PersonDog("小白", 3);

console.log(dog1, dog2, dog3);
dog1.action();

//但是这样写构造函数创建对象是有缺点的
/* ===========================
 * 在每一次运行的时候都会重新获取一个新的地址，代码运行虽然没有问题，但是创建很多的数据的时候呢，
 * 就会创建很多很多的函数，占用很多的内存空间，这就不是我们想要的结果
 * =========================== */
console.log(dog1.action === dog2.action); //false
